cmake_minimum_required(VERSION 3.0)

project(par_ctrl CXX C)

#  包含路径
include_directories(
    config/cfg_x86
    task
    device
    pc_core/inc
    bsp
    protocol/pc_slink
)

# 构建pc核心
file(GLOB CORE_SRC_FILES pc_core/src/*.c)
add_library(pc_core_lib STATIC ${CORE_SRC_FILES})

# 构建平台
file(GLOB PLATFORM_SRC_FILES platform/x86/*.c)
add_library(pc_platform STATIC ${PLATFORM_SRC_FILES} )

# 构建任务
set(TASK_SRC_FILES 
    task/est_task.c
    task/task_pc.c
    # 添加其他源文件
)
add_library(pc_task STATIC ${TASK_SRC_FILES})

# 链接主文件
add_executable(par_ctrl  main.cpp )

# 链接库
target_link_libraries(par_ctrl pc_core_lib pc_platform pc_task)

# 添加测试目标
file(GLOB TEST_FILES test/test_*.c)
foreach(TEST_FILE ${TEST_FILES})
    get_filename_component(TEST_NAME ${TEST_FILE} NAME_WE)
    add_executable(${TEST_NAME} ${TEST_FILE})
    target_link_libraries(${TEST_NAME} pc_core_lib pc_platform pc_task)
    # 可以根据需要添加其他链接的库
endforeach()
